/*********************************************************************
* File: IWorld.h
*
* Information about the world.
*********************************************************************/
#pragma once

#include "globals.h"

namespace game{
	/**
	* \class IWorld
	* \brief Information about the world.
	*
	* \author Instituto Superior Tecnico de Lisboa, Portugal
	* \author Technical University of Lisbon, Portugal
	* 
	* \author Agentes Autonomos e Sistemas Multiagente
	* \author Autonomous Agents and Multiagent Systems
	* 
	* \version	1.0
	* \date		2006/2007
	**/
	class IWorld
	{
	public:
		/** 
		* \brief Gets the current absolute time.
		**/
		virtual float getTime() = 0;
		/** 
		* \brief Gets the time the round started.
		**/
		virtual float getTimeRoundStarted() = 0;
		/** 
		* \brief Gets the time the round ends.
		**/
		virtual float getTimeRoundEnds() = 0;
		/** 
		* \brief Gets the maximum number of players.
		**/
		virtual int getMaxPlayers() = 0;

		/** 
		* \brief Gets the time the bomb was planted.
		**/
		virtual float getTimeBombWasPlanted() = 0;
		/** 
		* \brief Whether the bomb was planted.
		**/
		virtual bool isBombPlanted() = 0;
		/** 
		* \brief Gets the map type.
		**/
		virtual MapTypes::Enumeration getMapType() = 0;
		/** 
		* \brief Gets the map name.
		**/
		virtual void getMapName(char buffer[MAP_NAME_MAX_SIZE]) = 0;
	};
}
